// bool, Obj this, Obj other

Building me;
Building it;

me = this.AsBuilding();
it = other.AsBuilding();

if (!me.IsValid() || !it.IsValid())
	return false;

if(me == it)
	return false;
	
return me.player == it.player || DiplGetShareSupport(me.player, it.player);